package com.akk.module.app.entity;

import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Component
public class AppExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AppExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAppIdIsNull() {
            addCriterion("app_id is null");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNotNull() {
            addCriterion("app_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppIdEqualTo(String value) {
            addCriterion("app_id =", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotEqualTo(String value) {
            addCriterion("app_id <>", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThan(String value) {
            addCriterion("app_id >", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_id >=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThan(String value) {
            addCriterion("app_id <", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThanOrEqualTo(String value) {
            addCriterion("app_id <=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLike(String value) {
            addCriterion("app_id like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotLike(String value) {
            addCriterion("app_id not like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdIn(List<String> values) {
            addCriterion("app_id in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotIn(List<String> values) {
            addCriterion("app_id not in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdBetween(String value1, String value2) {
            addCriterion("app_id between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotBetween(String value1, String value2) {
            addCriterion("app_id not between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppNameIsNull() {
            addCriterion("app_name is null");
            return (Criteria) this;
        }

        public Criteria andAppNameIsNotNull() {
            addCriterion("app_name is not null");
            return (Criteria) this;
        }

        public Criteria andAppNameEqualTo(String value) {
            addCriterion("app_name =", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameNotEqualTo(String value) {
            addCriterion("app_name <>", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameGreaterThan(String value) {
            addCriterion("app_name >", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameGreaterThanOrEqualTo(String value) {
            addCriterion("app_name >=", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameLessThan(String value) {
            addCriterion("app_name <", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameLessThanOrEqualTo(String value) {
            addCriterion("app_name <=", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameLike(String value) {
            addCriterion("app_name like", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameNotLike(String value) {
            addCriterion("app_name not like", value, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameIn(List<String> values) {
            addCriterion("app_name in", values, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameNotIn(List<String> values) {
            addCriterion("app_name not in", values, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameBetween(String value1, String value2) {
            addCriterion("app_name between", value1, value2, "appName");
            return (Criteria) this;
        }

        public Criteria andAppNameNotBetween(String value1, String value2) {
            addCriterion("app_name not between", value1, value2, "appName");
            return (Criteria) this;
        }

        public Criteria andAppStatusIsNull() {
            addCriterion("app_status is null");
            return (Criteria) this;
        }

        public Criteria andAppStatusIsNotNull() {
            addCriterion("app_status is not null");
            return (Criteria) this;
        }

        public Criteria andAppStatusEqualTo(Integer value) {
            addCriterion("app_status =", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusNotEqualTo(Integer value) {
            addCriterion("app_status <>", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusGreaterThan(Integer value) {
            addCriterion("app_status >", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("app_status >=", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusLessThan(Integer value) {
            addCriterion("app_status <", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusLessThanOrEqualTo(Integer value) {
            addCriterion("app_status <=", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusIn(List<Integer> values) {
            addCriterion("app_status in", values, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusNotIn(List<Integer> values) {
            addCriterion("app_status not in", values, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusBetween(Integer value1, Integer value2) {
            addCriterion("app_status between", value1, value2, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("app_status not between", value1, value2, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAdviceIsNull() {
            addCriterion("advice is null");
            return (Criteria) this;
        }

        public Criteria andAdviceIsNotNull() {
            addCriterion("advice is not null");
            return (Criteria) this;
        }

        public Criteria andAdviceEqualTo(String value) {
            addCriterion("advice =", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceNotEqualTo(String value) {
            addCriterion("advice <>", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceGreaterThan(String value) {
            addCriterion("advice >", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceGreaterThanOrEqualTo(String value) {
            addCriterion("advice >=", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceLessThan(String value) {
            addCriterion("advice <", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceLessThanOrEqualTo(String value) {
            addCriterion("advice <=", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceLike(String value) {
            addCriterion("advice like", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceNotLike(String value) {
            addCriterion("advice not like", value, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceIn(List<String> values) {
            addCriterion("advice in", values, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceNotIn(List<String> values) {
            addCriterion("advice not in", values, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceBetween(String value1, String value2) {
            addCriterion("advice between", value1, value2, "advice");
            return (Criteria) this;
        }

        public Criteria andAdviceNotBetween(String value1, String value2) {
            addCriterion("advice not between", value1, value2, "advice");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(String value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(String value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(String value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(String value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(String value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(String value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLike(String value) {
            addCriterion("version like", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotLike(String value) {
            addCriterion("version not like", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<String> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<String> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(String value1, String value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(String value1, String value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andHotLineIsNull() {
            addCriterion("hot_line is null");
            return (Criteria) this;
        }

        public Criteria andHotLineIsNotNull() {
            addCriterion("hot_line is not null");
            return (Criteria) this;
        }

        public Criteria andHotLineEqualTo(String value) {
            addCriterion("hot_line =", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineNotEqualTo(String value) {
            addCriterion("hot_line <>", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineGreaterThan(String value) {
            addCriterion("hot_line >", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineGreaterThanOrEqualTo(String value) {
            addCriterion("hot_line >=", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineLessThan(String value) {
            addCriterion("hot_line <", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineLessThanOrEqualTo(String value) {
            addCriterion("hot_line <=", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineLike(String value) {
            addCriterion("hot_line like", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineNotLike(String value) {
            addCriterion("hot_line not like", value, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineIn(List<String> values) {
            addCriterion("hot_line in", values, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineNotIn(List<String> values) {
            addCriterion("hot_line not in", values, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineBetween(String value1, String value2) {
            addCriterion("hot_line between", value1, value2, "hotLine");
            return (Criteria) this;
        }

        public Criteria andHotLineNotBetween(String value1, String value2) {
            addCriterion("hot_line not between", value1, value2, "hotLine");
            return (Criteria) this;
        }

        public Criteria andUseRealIsNull() {
            addCriterion("use_real is null");
            return (Criteria) this;
        }

        public Criteria andUseRealIsNotNull() {
            addCriterion("use_real is not null");
            return (Criteria) this;
        }

        public Criteria andUseRealEqualTo(Integer value) {
            addCriterion("use_real =", value, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealNotEqualTo(Integer value) {
            addCriterion("use_real <>", value, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealGreaterThan(Integer value) {
            addCriterion("use_real >", value, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealGreaterThanOrEqualTo(Integer value) {
            addCriterion("use_real >=", value, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealLessThan(Integer value) {
            addCriterion("use_real <", value, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealLessThanOrEqualTo(Integer value) {
            addCriterion("use_real <=", value, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealIn(List<Integer> values) {
            addCriterion("use_real in", values, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealNotIn(List<Integer> values) {
            addCriterion("use_real not in", values, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealBetween(Integer value1, Integer value2) {
            addCriterion("use_real between", value1, value2, "useReal");
            return (Criteria) this;
        }

        public Criteria andUseRealNotBetween(Integer value1, Integer value2) {
            addCriterion("use_real not between", value1, value2, "useReal");
            return (Criteria) this;
        }

        public Criteria andLastRealIsNull() {
            addCriterion("last_real is null");
            return (Criteria) this;
        }

        public Criteria andLastRealIsNotNull() {
            addCriterion("last_real is not null");
            return (Criteria) this;
        }

        public Criteria andLastRealEqualTo(Integer value) {
            addCriterion("last_real =", value, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealNotEqualTo(Integer value) {
            addCriterion("last_real <>", value, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealGreaterThan(Integer value) {
            addCriterion("last_real >", value, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealGreaterThanOrEqualTo(Integer value) {
            addCriterion("last_real >=", value, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealLessThan(Integer value) {
            addCriterion("last_real <", value, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealLessThanOrEqualTo(Integer value) {
            addCriterion("last_real <=", value, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealIn(List<Integer> values) {
            addCriterion("last_real in", values, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealNotIn(List<Integer> values) {
            addCriterion("last_real not in", values, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealBetween(Integer value1, Integer value2) {
            addCriterion("last_real between", value1, value2, "lastReal");
            return (Criteria) this;
        }

        public Criteria andLastRealNotBetween(Integer value1, Integer value2) {
            addCriterion("last_real not between", value1, value2, "lastReal");
            return (Criteria) this;
        }

        public Criteria andUseSmsIsNull() {
            addCriterion("use_sms is null");
            return (Criteria) this;
        }

        public Criteria andUseSmsIsNotNull() {
            addCriterion("use_sms is not null");
            return (Criteria) this;
        }

        public Criteria andUseSmsEqualTo(Integer value) {
            addCriterion("use_sms =", value, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsNotEqualTo(Integer value) {
            addCriterion("use_sms <>", value, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsGreaterThan(Integer value) {
            addCriterion("use_sms >", value, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsGreaterThanOrEqualTo(Integer value) {
            addCriterion("use_sms >=", value, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsLessThan(Integer value) {
            addCriterion("use_sms <", value, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsLessThanOrEqualTo(Integer value) {
            addCriterion("use_sms <=", value, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsIn(List<Integer> values) {
            addCriterion("use_sms in", values, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsNotIn(List<Integer> values) {
            addCriterion("use_sms not in", values, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsBetween(Integer value1, Integer value2) {
            addCriterion("use_sms between", value1, value2, "useSms");
            return (Criteria) this;
        }

        public Criteria andUseSmsNotBetween(Integer value1, Integer value2) {
            addCriterion("use_sms not between", value1, value2, "useSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsIsNull() {
            addCriterion("last_sms is null");
            return (Criteria) this;
        }

        public Criteria andLastSmsIsNotNull() {
            addCriterion("last_sms is not null");
            return (Criteria) this;
        }

        public Criteria andLastSmsEqualTo(Integer value) {
            addCriterion("last_sms =", value, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsNotEqualTo(Integer value) {
            addCriterion("last_sms <>", value, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsGreaterThan(Integer value) {
            addCriterion("last_sms >", value, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsGreaterThanOrEqualTo(Integer value) {
            addCriterion("last_sms >=", value, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsLessThan(Integer value) {
            addCriterion("last_sms <", value, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsLessThanOrEqualTo(Integer value) {
            addCriterion("last_sms <=", value, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsIn(List<Integer> values) {
            addCriterion("last_sms in", values, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsNotIn(List<Integer> values) {
            addCriterion("last_sms not in", values, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsBetween(Integer value1, Integer value2) {
            addCriterion("last_sms between", value1, value2, "lastSms");
            return (Criteria) this;
        }

        public Criteria andLastSmsNotBetween(Integer value1, Integer value2) {
            addCriterion("last_sms not between", value1, value2, "lastSms");
            return (Criteria) this;
        }

        public Criteria andOemNameIsNull() {
            addCriterion("oem_name is null");
            return (Criteria) this;
        }

        public Criteria andOemNameIsNotNull() {
            addCriterion("oem_name is not null");
            return (Criteria) this;
        }

        public Criteria andOemNameEqualTo(String value) {
            addCriterion("oem_name =", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameNotEqualTo(String value) {
            addCriterion("oem_name <>", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameGreaterThan(String value) {
            addCriterion("oem_name >", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameGreaterThanOrEqualTo(String value) {
            addCriterion("oem_name >=", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameLessThan(String value) {
            addCriterion("oem_name <", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameLessThanOrEqualTo(String value) {
            addCriterion("oem_name <=", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameLike(String value) {
            addCriterion("oem_name like", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameNotLike(String value) {
            addCriterion("oem_name not like", value, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameIn(List<String> values) {
            addCriterion("oem_name in", values, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameNotIn(List<String> values) {
            addCriterion("oem_name not in", values, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameBetween(String value1, String value2) {
            addCriterion("oem_name between", value1, value2, "oemName");
            return (Criteria) this;
        }

        public Criteria andOemNameNotBetween(String value1, String value2) {
            addCriterion("oem_name not between", value1, value2, "oemName");
            return (Criteria) this;
        }

        public Criteria andCompanyIsNull() {
            addCriterion("company is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIsNotNull() {
            addCriterion("company is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyEqualTo(String value) {
            addCriterion("company =", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotEqualTo(String value) {
            addCriterion("company <>", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyGreaterThan(String value) {
            addCriterion("company >", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyGreaterThanOrEqualTo(String value) {
            addCriterion("company >=", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLessThan(String value) {
            addCriterion("company <", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLessThanOrEqualTo(String value) {
            addCriterion("company <=", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLike(String value) {
            addCriterion("company like", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotLike(String value) {
            addCriterion("company not like", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyIn(List<String> values) {
            addCriterion("company in", values, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotIn(List<String> values) {
            addCriterion("company not in", values, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyBetween(String value1, String value2) {
            addCriterion("company between", value1, value2, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotBetween(String value1, String value2) {
            addCriterion("company not between", value1, value2, "company");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeIsNull() {
            addCriterion("agent_max_type is null");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeIsNotNull() {
            addCriterion("agent_max_type is not null");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeEqualTo(Integer value) {
            addCriterion("agent_max_type =", value, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeNotEqualTo(Integer value) {
            addCriterion("agent_max_type <>", value, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeGreaterThan(Integer value) {
            addCriterion("agent_max_type >", value, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("agent_max_type >=", value, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeLessThan(Integer value) {
            addCriterion("agent_max_type <", value, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeLessThanOrEqualTo(Integer value) {
            addCriterion("agent_max_type <=", value, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeIn(List<Integer> values) {
            addCriterion("agent_max_type in", values, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeNotIn(List<Integer> values) {
            addCriterion("agent_max_type not in", values, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeBetween(Integer value1, Integer value2) {
            addCriterion("agent_max_type between", value1, value2, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andAgentMaxTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("agent_max_type not between", value1, value2, "agentMaxType");
            return (Criteria) this;
        }

        public Criteria andOpenAgentIsNull() {
            addCriterion("open_agent is null");
            return (Criteria) this;
        }

        public Criteria andOpenAgentIsNotNull() {
            addCriterion("open_agent is not null");
            return (Criteria) this;
        }

        public Criteria andOpenAgentEqualTo(Integer value) {
            addCriterion("open_agent =", value, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentNotEqualTo(Integer value) {
            addCriterion("open_agent <>", value, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentGreaterThan(Integer value) {
            addCriterion("open_agent >", value, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_agent >=", value, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentLessThan(Integer value) {
            addCriterion("open_agent <", value, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentLessThanOrEqualTo(Integer value) {
            addCriterion("open_agent <=", value, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentIn(List<Integer> values) {
            addCriterion("open_agent in", values, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentNotIn(List<Integer> values) {
            addCriterion("open_agent not in", values, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentBetween(Integer value1, Integer value2) {
            addCriterion("open_agent between", value1, value2, "openAgent");
            return (Criteria) this;
        }

        public Criteria andOpenAgentNotBetween(Integer value1, Integer value2) {
            addCriterion("open_agent not between", value1, value2, "openAgent");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdIsNull() {
            addCriterion("up_grade_access_id is null");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdIsNotNull() {
            addCriterion("up_grade_access_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdEqualTo(Long value) {
            addCriterion("up_grade_access_id =", value, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdNotEqualTo(Long value) {
            addCriterion("up_grade_access_id <>", value, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdGreaterThan(Long value) {
            addCriterion("up_grade_access_id >", value, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdGreaterThanOrEqualTo(Long value) {
            addCriterion("up_grade_access_id >=", value, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdLessThan(Long value) {
            addCriterion("up_grade_access_id <", value, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdLessThanOrEqualTo(Long value) {
            addCriterion("up_grade_access_id <=", value, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdIn(List<Long> values) {
            addCriterion("up_grade_access_id in", values, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdNotIn(List<Long> values) {
            addCriterion("up_grade_access_id not in", values, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdBetween(Long value1, Long value2) {
            addCriterion("up_grade_access_id between", value1, value2, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andUpGradeAccessIdNotBetween(Long value1, Long value2) {
            addCriterion("up_grade_access_id not between", value1, value2, "upGradeAccessId");
            return (Criteria) this;
        }

        public Criteria andSettleTypeIsNull() {
            addCriterion("settle_type is null");
            return (Criteria) this;
        }

        public Criteria andSettleTypeIsNotNull() {
            addCriterion("settle_type is not null");
            return (Criteria) this;
        }

        public Criteria andSettleTypeEqualTo(Integer value) {
            addCriterion("settle_type =", value, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeNotEqualTo(Integer value) {
            addCriterion("settle_type <>", value, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeGreaterThan(Integer value) {
            addCriterion("settle_type >", value, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("settle_type >=", value, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeLessThan(Integer value) {
            addCriterion("settle_type <", value, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeLessThanOrEqualTo(Integer value) {
            addCriterion("settle_type <=", value, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeIn(List<Integer> values) {
            addCriterion("settle_type in", values, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeNotIn(List<Integer> values) {
            addCriterion("settle_type not in", values, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeBetween(Integer value1, Integer value2) {
            addCriterion("settle_type between", value1, value2, "settleType");
            return (Criteria) this;
        }

        public Criteria andSettleTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("settle_type not between", value1, value2, "settleType");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateIsNull() {
            addCriterion("agent_init_rate is null");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateIsNotNull() {
            addCriterion("agent_init_rate is not null");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateEqualTo(Double value) {
            addCriterion("agent_init_rate =", value, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateNotEqualTo(Double value) {
            addCriterion("agent_init_rate <>", value, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateGreaterThan(Double value) {
            addCriterion("agent_init_rate >", value, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateGreaterThanOrEqualTo(Double value) {
            addCriterion("agent_init_rate >=", value, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateLessThan(Double value) {
            addCriterion("agent_init_rate <", value, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateLessThanOrEqualTo(Double value) {
            addCriterion("agent_init_rate <=", value, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateIn(List<Double> values) {
            addCriterion("agent_init_rate in", values, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateNotIn(List<Double> values) {
            addCriterion("agent_init_rate not in", values, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateBetween(Double value1, Double value2) {
            addCriterion("agent_init_rate between", value1, value2, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andAgentInitRateNotBetween(Double value1, Double value2) {
            addCriterion("agent_init_rate not between", value1, value2, "agentInitRate");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdIsNull() {
            addCriterion("grade_init_id is null");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdIsNotNull() {
            addCriterion("grade_init_id is not null");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdEqualTo(String value) {
            addCriterion("grade_init_id =", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdNotEqualTo(String value) {
            addCriterion("grade_init_id <>", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdGreaterThan(String value) {
            addCriterion("grade_init_id >", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdGreaterThanOrEqualTo(String value) {
            addCriterion("grade_init_id >=", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdLessThan(String value) {
            addCriterion("grade_init_id <", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdLessThanOrEqualTo(String value) {
            addCriterion("grade_init_id <=", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdLike(String value) {
            addCriterion("grade_init_id like", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdNotLike(String value) {
            addCriterion("grade_init_id not like", value, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdIn(List<String> values) {
            addCriterion("grade_init_id in", values, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdNotIn(List<String> values) {
            addCriterion("grade_init_id not in", values, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdBetween(String value1, String value2) {
            addCriterion("grade_init_id between", value1, value2, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andGradeInitIdNotBetween(String value1, String value2) {
            addCriterion("grade_init_id not between", value1, value2, "gradeInitId");
            return (Criteria) this;
        }

        public Criteria andAppT1CashIsNull() {
            addCriterion("app_t1_cash is null");
            return (Criteria) this;
        }

        public Criteria andAppT1CashIsNotNull() {
            addCriterion("app_t1_cash is not null");
            return (Criteria) this;
        }

        public Criteria andAppT1CashEqualTo(Double value) {
            addCriterion("app_t1_cash =", value, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashNotEqualTo(Double value) {
            addCriterion("app_t1_cash <>", value, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashGreaterThan(Double value) {
            addCriterion("app_t1_cash >", value, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashGreaterThanOrEqualTo(Double value) {
            addCriterion("app_t1_cash >=", value, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashLessThan(Double value) {
            addCriterion("app_t1_cash <", value, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashLessThanOrEqualTo(Double value) {
            addCriterion("app_t1_cash <=", value, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashIn(List<Double> values) {
            addCriterion("app_t1_cash in", values, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashNotIn(List<Double> values) {
            addCriterion("app_t1_cash not in", values, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashBetween(Double value1, Double value2) {
            addCriterion("app_t1_cash between", value1, value2, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppT1CashNotBetween(Double value1, Double value2) {
            addCriterion("app_t1_cash not between", value1, value2, "appT1Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashIsNull() {
            addCriterion("app_d0_cash is null");
            return (Criteria) this;
        }

        public Criteria andAppD0CashIsNotNull() {
            addCriterion("app_d0_cash is not null");
            return (Criteria) this;
        }

        public Criteria andAppD0CashEqualTo(Double value) {
            addCriterion("app_d0_cash =", value, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashNotEqualTo(Double value) {
            addCriterion("app_d0_cash <>", value, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashGreaterThan(Double value) {
            addCriterion("app_d0_cash >", value, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashGreaterThanOrEqualTo(Double value) {
            addCriterion("app_d0_cash >=", value, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashLessThan(Double value) {
            addCriterion("app_d0_cash <", value, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashLessThanOrEqualTo(Double value) {
            addCriterion("app_d0_cash <=", value, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashIn(List<Double> values) {
            addCriterion("app_d0_cash in", values, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashNotIn(List<Double> values) {
            addCriterion("app_d0_cash not in", values, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashBetween(Double value1, Double value2) {
            addCriterion("app_d0_cash between", value1, value2, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppD0CashNotBetween(Double value1, Double value2) {
            addCriterion("app_d0_cash not between", value1, value2, "appD0Cash");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdIsNull() {
            addCriterion("app_cash_access_id is null");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdIsNotNull() {
            addCriterion("app_cash_access_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdEqualTo(String value) {
            addCriterion("app_cash_access_id =", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdNotEqualTo(String value) {
            addCriterion("app_cash_access_id <>", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdGreaterThan(String value) {
            addCriterion("app_cash_access_id >", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_cash_access_id >=", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdLessThan(String value) {
            addCriterion("app_cash_access_id <", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdLessThanOrEqualTo(String value) {
            addCriterion("app_cash_access_id <=", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdLike(String value) {
            addCriterion("app_cash_access_id like", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdNotLike(String value) {
            addCriterion("app_cash_access_id not like", value, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdIn(List<String> values) {
            addCriterion("app_cash_access_id in", values, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdNotIn(List<String> values) {
            addCriterion("app_cash_access_id not in", values, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdBetween(String value1, String value2) {
            addCriterion("app_cash_access_id between", value1, value2, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andAppCashAccessIdNotBetween(String value1, String value2) {
            addCriterion("app_cash_access_id not between", value1, value2, "appCashAccessId");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}